//
// Created by admin on 2024/5/15.
//

#ifndef _HAL_UART_H
#define _HAL_UART_H

#include "stdint.h"


#ifdef __cplusplus
extern "C"{
#endif


void uartInit(void *uart, uint32_t baud);

void uartWrite(void *uart, uint8_t *buffer, uint32_t size);

void uartRead(void *uart, uint8_t *buffer, uint32_t size);

/**
 * 串口事件回调函数
 * @param uart 串口对象
 * @param event 串口事件，0x01空闲, 0x02发送半完成, 0x04发送完成, 0x08接收半完成, 0x10接收完成
 * @param size 空闲事件通道buffer使用大小
 */
void uartEventCallback(void *uart, int event, uint32_t size);

void uartIdleHandler(void *uart, int event);
#ifdef __cplusplus
}   // extern "C"{
#endif

#endif //_HAL_UART_H
